package rs.networx.dao;

import java.util.ArrayList;
import java.util.List;
import java.util.Set;

import rs.networx.entity.Person;
import rs.networx.entity.Post;

public interface PersonDao extends GenericDao<Person, Integer>{
	public Person login(String email, String password);
	public boolean activate(Integer personID, Long activationCode);
	public List<Person> search(String searchTextsac);
	public List<Post> getFirstTenOwnedPosts(Integer personID);
	public boolean areFriends(Integer personID, Integer friendID);
	public Set<Person> getFriends(Integer personID);
	public boolean addFriendRequest(Integer personID, Integer friendID);
	public boolean addToFriends(Integer friendRequest);
	public boolean checkUsernameExistance(String usernameToCheck);
	public List<String> getAllUsernames();
	public Person logout(String username, String password);
	public boolean checkIfMutual(Integer intRequestFromID,
			Integer intLoggedUserID, Integer id);
	public ArrayList<Person> getAllMutualFriends(Integer intLoggedUserID,
			Integer intRequestFromID);
	public boolean removeFromFriends(Integer intLoggedUserID,
			Integer intPersonToDeleteID);
}
